考題日期:2015/12/22
題號:11332
星等:1
語言:C++
題目:
題意:
對於所有正整數 n ,我們定義一函數 f(n) 為 n 的每一個十進位數字的總和,若再把 f(n) 代入函數中可得最到 n,f(n),f(f(n)),f(f(f(n)))… 最後得到僅有一位數字的值,並定義該值為 g(n) 。
程式:
#include <iostream>
using namespace std;
int f(int n)
{
    int all = 0;
    while(n>0)
    {
        all += (n % 10);
        n /= 10;
    }
    return all;
}
int main()
{
    int n;
    while(cin>>n && n!=0)
    {
        while(n>9)
        {
            n = f(n);
        }
        cout<<n<<endl;
    }
}
測資: